FIG. 1 illustrates an example CMOS image sensor and although these details are useful for understanding the teachings herein, they should be understood as non-limiting. The illustrated CMOS image sensor 10, where “CMOS” denotes Complementary Metal Oxide Semiconductor. The sensor 10 includes cover glass and a micro-lens array 12, an active pixel sensor array 14, along with associated analog processing circuitry 16, an analog-to-digital converter or ADC 18, and digital signal processing circuitry 20 which operates on the analog data converted into digital form by the ADC 18.
The sensor 10 further includes processing and interface circuitry 22, for interfacing with one or more elements of the sensor 10, such as the digital processing circuitry 20. Still further, the sensor 10 includes a control register 24, for controlling certain operations, such as the operation of exposure timing and control circuitry 26 and image readout timing and control circuitry 28. In turn, that circuitry controls a row decoder circuit 30 and a column decoder circuit 32, which are used to read-out data from the active pixel array 14.
By activating one row at a time of the active pixel array 14 with the row decoder circuit 30, the active pixel sensor array 14 outputs analog signals representing pixel data for the selected row. The analog processing circuitry 16 includes sample-and-hold circuits for capturing the analog pixel data. After any analog processing, the captured analog data is converted into the digital domain by the ADC 18 and further processed in the digital processing circuitry 20.
FIG. 2 illustrates an example “floor plan” applicable to the example sensor 10 shown in FIG. 1. A counter in the timing and control circuit 28 implements automatic scans of the pixel array 14. In more detail, the counter generates the address signals to the row and column decoder circuits 30 and 32. This scheme allows independent addressing of each pixel in the active pixel array 14.
FIG. 3 provides example pixel circuit details, for the pixel circuits comprising the active pixel array 14 shown in FIGS. 1 and 2. FIG. 3 illustrates the row/column readout scheme implemented in the active pixel array 14 of the sensor. In particular, one sees transistors Q1 and Q2 associated with row/column activation, and transistors Q3 and Q4 providing storage and saturation control, respectively.
Certain failures among the various types of failures associated with sensors of the type illustrated in the examples of FIGS. 1-3 are particularly problematic, in terms of their effect on operation, or their difficulty of detection, or both. For example, addressing errors are particularly problematic. In more detail, if either the row decoding or column decoding fails in such a way as to cause addressing errors, then the data read out for selected pixels may in fact represent data for non-selected pixels in a different row or column of the active pixel array 14.
Beyond merely causing artifacts or corruption of the image data being read out from the sensor, it is recognized herein that sensor addressing errors represent a significant safety-of-design consideration in applications where the sensor 10 is used for machine guarding, autonomous vehicle guidance, area monitoring, or other high-security and/or safety-critical imaging functions. For example, in safety-critical machine vision or other object-detection applications, faulty sensor addressing may cause the imaging system to miss objects that would otherwise have been detected.
Various known approaches for detecting sensor-addressing errors include injecting test patterns or images into the sensor. These injected patterns or images may be built-in or external. In either case, the image data read from the involved sensor should match the injected test pattern or image. Unfortunately, the use of test patterns represents a potentially lengthy type of verification testing and their use generally requires taking the sensor offline—e.g., suspending its normal or nominal imaging operations for test pattern injection.
Another approach involves attaching a kind of data or mark representing the address of each pixel. The attachment is done when the pixel signals are read out from the involved pixel array. However, this approach to addressing-error detections requires that the sensor be specially designed, and such sensors tend to be more expensive than low cost general-purpose CMOS imaging sensors.